Transforming data from one form into another desired form is a typical occurrence in a data processing system. However, in one example, transforming data of an arbitrary collection of markup from one form into another form can be difficult to complete efficiently.
Presently there exist methods to transform extensible markup language (XML) data from one form to another using extensible stylesheet language transformations (XSLT), which is a declarative, XML-based language, used for the transformation of XML documents. XSLT processing, using the XSLT engine is however not recursive. Using the XSLT process, the output of one template will not be accordingly processed by other templates within the same process. Recursion in XSLT must be accomplished by chaining a sequence of XSLT processes together. The requirement to chain multiple XSLT processes together implicitly means that a new document is created for each step, which accordingly typically incurs an associated large amount of overhead. Additionally, XSLT typically requires learning of an entirely new language, by a developer, with little inherent support for debugging or logging.